home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / docs / howto / server-info / lust.debug.me < prev    next >
Encoding:
Text File  |  1992-12-14  |  3.9 KB  |  124 lines

  1. .uh "How to Boot Lust"
  2. .pp
  3. I am ``Lust'', A Sprite file server.  
  4. To boot from disk after a power-up:
  5. .(l
  6. >>init
  7. \fI there will be a pause, then some info printed out\fP
  8. >>boot 5/rz0/new
  9. \fI the kernel should start up within a few seconds
  10. .)l
  11. If Lust won't boot you can try booting it off Allspice.
  12. The 'bootp', 'mopd', and 'arpd' daemons need to be running on Allspice.
  13. Then type:
  14. .(l
  15. >>boot 2/mop/new
  16. \fI there should be a delay of about 10 seconds before the kernel starts up\fP
  17. .)l
  18. .pp
  19. To reboot when running Sprite, use the shutdown command:
  20. .(l
  21. % sync
  22. % shutdown -q -r
  23. .)l
  24. The 'sync' command writes out the cache, is isn't required unless
  25. you are parnoid.  Shutdown will sync the disks as the last thing before
  26. rebooting.
  27. .pp
  28. If Lust is so wedged you can't do anything from its console,
  29. then attempt to sync the cache with:
  30. .(l
  31. F1-W
  32. .)l
  33. You should get a message about syncing the disks.
  34. You can abort to the PROM with
  35. .(l
  36. F1-A
  37. .)l
  38. Or, as a last resort, you can reset it with the reset button
  39. on the back.
  40.  
  41. .uh "Debugging Tips"
  42. .pp
  43. If Lust acts up then you might try the following things.
  44. If you aren't logged in, log in as root.
  45. Useful commands are:
  46. .(l
  47. lust # rpcstat -srvr
  48. .)l
  49. Which dumps out the status of all the RPC server processes.  If a bunch
  50. are ``busy'', and they remain busy with the same RPC ID and client, then
  51. there may be a deadlock.
  52. If they are all in the ``wait'' state it means that the Rpc_Daemon process
  53. is not doing rebinding for some reason.
  54. .(l
  55. lust # ps -a
  56. .)l
  57. This will tell you if any important daemons have died.
  58. If the ipServer is in the DEBUG state you can restart it and
  59. the daemons that depend on it with /sprite/admin.ds3100/restartIPServer.
  60. .(l
  61. % rpcecho -h \fIhostname\fP -n 1000
  62. .)l
  63. This program, which is found in /sprite/src/benchmarks/rpcecho,
  64. and may or may not be installed in /sprite/cmds,
  65. will tell you if there timeouts when using the RPC protocol to
  66. talk to another host.  If you suspect that a host with an Intel
  67. ethernet interface is flaking out, you can try this command.
  68. Lot's of timeouts indicate trouble.
  69. You can reset a host's network interface from its console with
  70. either of these keystrokes.
  71. .(l
  72. Fl-N
  73. break-N
  74. Ll-N
  75. .)l
  76. On a regular DecStation keyboard you use the F1 key like a shift key.
  77. On a regular Sun keyboard you use the L1 key like a shift key.
  78. On an ascii terminal you use the break key like an escape key,
  79. hit break, then the key.
  80.  
  81. .uh "Kernel Debugging"
  82. .pp
  83. If Lust is so hung you can't explore with user commands,
  84. then the best you can do is sync the disks with:
  85. .(l
  86. F1-W
  87. .)l
  88. This should print a message about queuing a call to sync the disks,
  89. and when it is done it should print a '.' and a newline.
  90. If you don't get the newline then Lust is deadlocked inside the
  91. file system cache, sigh.  Throw Lust into the debugger with:
  92. .(l
  93. F1-D
  94. .)l
  95. You should get
  96. a message about ``Entering the debugger...''.
  97. (If not, I think you're forced to reboot.)
  98. .pp
  99. You have to run the debugger from either a ds3100 or ds5000 running
  100. Sprite.
  101. Go to /sprite/src/kernel/sprite and run
  102. .(l
  103. % Kdbx  ds5000.\fIversion\fP lust
  104. .)l
  105. If there is a deadlock you can dump the process table:
  106. .(l
  107. (kdbx) set $pdump = 0
  108. .)l
  109. You can switch from process to process and to stack backtraces
  110. by using the 'set $index = pid' command.  You only need to specify the last
  111. two hex digits of the process ID.  If you only have a decimal ID,
  112. then you have to type the whole thing.
  113. File system deadlocks center around locked handles, usually.
  114. When you find a process stuck in Fsutil_HandleFetch of Fsutil_HandleLock
  115. you can try to find the culprit by looking at the *hdrPtr these
  116. guys are waiting on.  There is a 'lockProcessID' in the hdrPtr that
  117. is a pointer to a Proc_ControlBlock.  
  118. You cannot reboot Lust from within kdbx.  You have to abort it,
  119. or reset it with the reset button on the back of the machine,
  120. and then reboot it as described above.
  121. .uh "Modify date"
  122. .pp
  123. These notes were last updated by John Hartman on 5/29/91.
  124.